#pragma once

#include<iostream>

//用 do while包裹后，不管在什么语法结构里调用Die(1),宏展开后都是一个完整的、带有花括号的语句块，不会破坏外层的语法
#define Die(code) do{exit(code);}while(0)
#define CONV(v) (struct sockaddr*)(v)   // converse 数据格式转换


enum
{
	USAGE_ERR = 1,
	SOCKET_ERR,
	BIND_ERR,
	LISTEN_ERR
};